package cn.bellychang.leetcode.question104;

/**
 * @author ChangLiang
 * @date 2021/2/7
 */
public class Solution2 {

    /**
     *
     * 1. 大问题->小问题（逻辑上的难题）   树的高度 = max(左子树高度+1，右子树高度+1)
     * 2. 递推公式  f(TreeNode) = max(f(TreeNode.left)+1, f(TreeNode.right)+1);
     * 3. 终止条件 f(null)=0;
     *
     * @param root
     * @return
     */
    public int maxDepth(TreeNode root) {

        if (root == null) {
            return 0;
        }
        return Math.max(maxDepth(root.left), maxDepth(root.right)) + 1;

    }

}
